Bayesian brain mapping (BBM) is a technique for producing individualized functional brain topographic maps from existing group-level network maps. Group-level network maps are commonly group ICA maps or group average parcellations, but other types of networks maps such as non-negative matrix factorization and PROFUMO can be used. In the case of ICA, BBM is known as template ICA (CITE Mejia et al 2020). BBM is a hierarchical source separation model, with priors on the spatial topography and, optionally, on the functional connectivity. The priors are estimated a-priori, so the model can be fit to individual-level fMRI data. The noise-reduction properties of the population-derived priors result highly accurate and reliable individual network topography maps and the functional connectivity between them. Importantly, the subject-level network maps are matched to the corresponding group networks from the template (i.e. parcellations or group ICA maps). Because BBM is applicable to individual-level analysis, it is computationally convenient and has potential clinical utility.
Once a set of group-level network maps has been chosen, there are two
steps to performing BBM. Both are implemented in the
BayesBrainMap R package.
Here, we perform Step 1 using data from the Human Connectome Project (HCP). Specifically, we train CIFTI-format Bayesian brain mapping priors using a variety of ICA and parcellation-based templates, listed below. The population-derived priors described here are available for use for individual-level Bayesian brain mapping. For analysis of individuals from other populations, it is often desirable to train the prior on a set of training subjects representative of that population. To facilitate this, we also provide and describe the code used to produce the HCP-derived priors, so that this workflow can be easily reproduced in other datasets. Finally, we illustrate the use of
For the choice of group-level network maps, we provide several options:
Group ICA maps from the HCP at resolutions from 15 to 50 (CITE)
The 17 Yeo networks (CITE)
To reproduce this workflow, first follow the setup process outlined in Appendix A.
Before estimating the BBM priors, we first select a high-quality, balanced subject sample to ensure reliable, representative priors. Starting from the full HCP sample of 1206, we apply the following filtering steps:
Filter Subjects by Sufficient fMRI Scan Duration
See Appendix B.1 and script:
1_fd_time_filtering.R
Filter Unrelated Subjects
See Appendix B.2 and script:
2_unrelated_filtering.R
Balance sex within age groups
See Appendix B.3 and script:
3_balance_age_sex.R
The resulting subject list
(valid_combined_subjects_balanced.rds) is used throughout
the rest of the analysis.
estimate_prior()In this step, we estimate group-level statistical priors using the
estimate_prior() function from the
BayesBrainMap package.
The helper function estimate_and_export_prior() in the
file 5_estimate_prior.R wraps the full procedure, handling
subject selection, BOLD file path construction, parcellation selection,
and output saving.
The encoding parameter is set to combined to use the
final list of subjects saved in Step 3.3
(valid_combined_subjects_balanced.rds), which includes
individuals who passed motion filtering in both LR and RL directions in
both sessions, were unrelated, and were sex-balanced within age
groups.
For each subject, we use REST1 sessions from both phase-enconding directions:
rfMRI_REST1_LR_Atlas_MSMAll_hp2000_clean.dtseries.nii
rfMRI_REST1_RL_Atlas_MSMAll_hp2000_clean.dtseries.nii
To standardize scan duration and improve data quality, we apply both
initial volume dropping and temporal truncation using parameters handled
directly by the estimate_prior() function from the
BayesBrainMap package.
Specifically:
drop_first = 15 removes the first 15 volumes from
each scan to eliminate early signal instability and motion
artifacts.
scrub defines volumes to exclude after a target
duration. In our case, we truncate data to the first 10 minutes (600
seconds), excluding any volumes beyond that point.
See Appendix C for more details.
We consider two types of group-level parcellations for estimating priors:
HCP GICA parcellation (GICA_15IC.dscalar.nii, etc.),
available in the data/ folder. These files were downloaded
from the HCP website, specifically from the CIFTI Subject-specific ICA
Parcellations dataset for 15-, 25-, 50-, and
100-dimensionalities.
Yeo17 parcellation (CITE). For details on how this parcellation was processed and simplified for use, see Appendix D.
Each of these parcellations was used to estimate priors with and without global signal regression (GSR), resulting in eight total priors saved as .rds files. See Table for a summary of the parcellations and GSR combinations.
# This script estimates and saves functional connectivity priors
# for both spatial topography and connectivity.
# It supports both GICA-based (15/25/50 ICs) and Yeo17 parcellations,
# with or without global signal regression (GSR).
# For priors using the "combined" subject list, it loads REST1-LR and REST1-RL
# scans for each subject,
# drops the first 15 volumes, and truncates each scan to approximately 10 minutes.
# Outputs:
# - Priors `.rds` file saved in `dir_results`
source("5_estimate_prior.R")
Running estimate_prior() on the full
"combined" subject list (~350 subjects) takes approximately
27 hours and uses 135 GB of memory.
For an example of how to run estimate_prior() and all
relevant parameters, see Appendix E.
In this section, we visualize both the parcellation maps and the priors outputs (mean and variance) for each parcellation scheme used in the study: Yeo17, 15 IC, 25 IC, and 50 IC.
We also visualize their corresponding functional connectivity (FC) priors.
Script:
8_visualization_Yeo17parcellations.R
This script creates one PNG image per parcel (17 in total), where only the selected parcel is colored and all others are white. The parcellation used is Yeo17, created in Appendix D.
Images are saved in data/parcellations_plots/Yeo17.
TODO: add in appendix visualizations?
Script: 9_visualization_GICAparcellations.R
This script loops over all independent components for each
parcellation dimensionality (nIC = 15, 25, 50) and
generates two images per component:
A cortical surface map (e.g.,
GICA_15_IC1.png)
A subcortical view (e.g.,
GICA_15_IC1_sub.png)
The resulting images are saved in the following folders:
data/parcellations_plots/15IC/
data/parcellations_plots/25IC/
data/parcellations_plots/50IC/
Each pair of files corresponds to a specific ICA component and captures its spatial map across brain regions.
TODO: add in appendix visualizations?
Script: 6_visualization_prior.R
This script loads each estimated prior file from
priors_rds/ and plots both the mean and standard deviation
components for all independent components (ICs).
All images are organized into folders by number of ICs and GSR setting, e.g.:
data/priors_plots/combined/15IC/GSR=F/
data/priors_plots/combined/25IC/GSR=T/
data/priors_plots/combined/50IC/GSR=F/
data/priors_plots/combined/Yeo17/GSR=T/
In this section, we present a comparative visual summary of the estimated group-level priors.
For each parcellation type Yeo17, 15 ICs, 25 ICs, and 50 IC, we display:
First and Last Parcellation Map
First and Last Component Mean
First and Last Component Standard Deviation
These summaries are shown in a 2-column grid layout per parcellation to highlight spatial structure and variability.
All images were generated using the scripts:
8_visualization_Yeo17parcellations.R
9_visualization_GICAparcellations.R
6_visualization_prior.R